// module.exports = {
//     TemplateEngine: {
//         render: function (templateStr, data) {
//             console.log('', templateStr, data)
//         }
//     }
// }

import parseTemplateToTokens from './parseTemplateToTokens.js';

import integrateTokensAndData from './integrateTokensAndData.js';
import trim from './trim.js';


// 全局提供TemplateEngine对象
window.TemplateEngine = {
      // 渲染方法
      render: function (templateStr, data) {
            // console.log('', templateStr, data)

            // 实例化一个扫码器，将模板字符串传进去 
            //   var scaner = new Scaner(templateStr)
            //   var word;
            //   while (!scaner.eos()) {
            //       word= scaner.scanUtil('{{')
            //       console.log('', word)
            //       scaner.scan('{{');
            //       word = scaner.scanUtil('}}')
            //       console.log('', word)
            //       scaner.scan('}}');
            //   }

            // 调用parseTemplateToTokens函数，将模版转换成tokens数组。
            var tokens = parseTemplateToTokens(templateStr);
            console.log(tokens);

            // 使用数据和tokens相结合，拼接处用数据的具体内容。
            var domStr = integrateTokensAndData(tokens, data)
            // console.log(domStr);

            console.log('', trim(domStr))

            return domStr;
      }
}